package com.dyson.jvm;

/**
 * @ClassName: TestLoader
 * @Date: 2020/7/6 16:43
 * @Author: WY
 * @Email: dysonwy@foxmail.com
 * @Desc:
 */
public class TestLoaderRelation {
    public static void main(String[] args) {
        //Bootstrap classLoader = null
        //该加载器涉及到JVM本地实现细节,开发者无法直接获取到该加载器的引用,所以不允许直接通过引用进行操作
        System.out.println(String.class.getClassLoader());
        //NPE异常
        //System.out.println(String.class.getClassLoader().getParent());
        //sun.misc.Launcher$AppClassLoader@18b4aac2 加载classPath
        System.out.println(TestLoaderRelation.class.getClassLoader());
        //sun.misc.Launcher$ExtClassLoader@1b6d3586 加载<JAVA_HOME>/lib/ext
        System.out.println(TestLoaderRelation.class.getClassLoader().getParent());
        //null
        System.out.println(TestLoaderRelation.class.getClassLoader().getParent().getParent());
    }
}
